package com.itheima.test;

import java.util.Scanner;

public class Test1Case1 {
    public static void main(String[] args) {
        /*键盘录入一个字符串
          要求1：长度小于等于9
          要求2：只能是数字
                 将内容变为罗马数字
          下面是阿拉伯数字跟罗马数字的对比关系：
          Ⅰ-1 Ⅱ-2 Ⅲ-3 Ⅳ-4 Ⅴ-5 Ⅵ-6 Ⅶ-7 Ⅷ-8 Ⅸ-9
          注意点：
          罗马数字是没有0的
          如果键盘录入的数字包含0，可以变成""
        */

        //1.键盘录入一个字符串
        Scanner sc = new Scanner(System.in);
        String str;

        //2.合格检验
        while (true) {
            System.out.println("请输入一个字符串：");
            str = sc.next();
            if (checkStr(str)) {
                break;
            } else {
                System.out.println("您的输入非法，请重新输入：");
                continue;
            }
        }

        StringBuilder sb = new StringBuilder();
        //3.转换成罗马数字
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            int number = c - 48;
            sb.append(changeLuoma(number));
        }

        //4.输出打印
        System.out.println(sb);
    }

    public static String changeLuoma(int number) {
        String[] arr = {"","Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ"};
        return arr[number];
    }

    public static boolean checkStr(String str) {
        if (str.length() > 9) {
            return false;
        }

        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) < '0' || str.charAt(i) > '9') {
                return false;
            }
        }

        return true;
    }
}
